#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=20010;
long long c1[maxn],n,c2[maxn];
struct node
{
	long long v,x;
	bool friend operator<(node a,node b )
	{
		return a.v<b.v;
	}
}a[maxn];
long long low(long long x)
{
	return x&(x^(x-1));
}
long long sum(long long x,long long *c)
{
	long long ans=0;
	while(x>0)
	{
		ans+=c[x];
		x-=low(x);
	}
	return ans;
}
void add(long long  i,long long x,long long *c)
{
	while(i<maxn)
	{
		c[i]+=x;
		i+=low(i);
	}
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d%d",&a[i].v,&a[i].x);
	sort(a+1,a+n+1);
	add(a[1].x,a[1].x,c1);
	add(a[1].x,1,c2);
	long long ans=0;
	for(int i=2;i<=n;i++)
	{
		ans+=((sum(maxn-1,c1)-sum(a[i].x,c1))-a[i].x*(sum(maxn-1,c2)-sum(a[i].x,c2)))*a[i].v;
		ans+=(a[i].x*sum(a[i].x-1,c2)-sum(a[i].x-1,c1))*a[i].v;
		add(a[i].x,a[i].x,c1);
		add(a[i].x,1,c2);
	}
	printf("%lld\n",ans);
	return 0;
}

